﻿Imports Microforma.BEL
Imports Microforma.BLL

Public Class frmTypeDocAdd
    Public IdTipoDoc As Integer
    Dim _TypeDocBl As TypeDocBL
    Dim TypeDocBe As TypeDocBE
    Private Sub BtnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAgregar.Click
        Dim StrMensaje As String
        TypeDocBe = New TypeDocBE
        TypeDocBe.IdTypeDoc = IdTipoDoc
        TypeDocBe.Nombre = TxtNombre.Text.Trim
        TypeDocBe.Descripcion = TxtDescripcion.Text.Trim
        TypeDocBe.Habilitado = ChkHabilitado.Checked

        If IdTipoDoc > 0 Then
            StrMensaje = _TypeDocBl.Update(TypeDocBe)
            If StrMensaje = "OK" Then
                MessageBox.Show("El Tipo documental se actualizó correctamente.", "Actualizar tipo documental", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Else
                MessageMistake("Error al actualizar el tipo documental." & vbCrLf & StrMensaje)
            End If
            Me.Close()
        Else
            If ValidaForm() Then
                StrMensaje = _TypeDocBl.Add(TypeDocBe)
                If StrMensaje = "OK" Then
                    MessageBox.Show("El Tipo documental se creo correctamente.", "Crear tipo documental", MessageBoxButtons.OK, MessageBoxIcon.Information)
                Else
                    MessageMistake("Error al crear el tipo documental." & vbCrLf & StrMensaje)
                End If
                Me.Close()
            End If
        End If

    End Sub
    Function ValidaForm() As Boolean

        If TxtNombre.Text.Trim = "" Then
            MessageBox.Show("Ingrese el nombre del tipo documental.", "Error de validación", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            TxtNombre.Focus()
            Return False
        End If

        Return True

    End Function
    Sub New()

        _TypeDocBL = New TypeDocBL
        'tipoDatoBE = New TipoDatoBE
        ' This call is required by the Windows Form Designer.
        InitializeComponent()

        ' Add any initialization after the InitializeComponent() call.

    End Sub

    Private Sub frmTypeDocAdd_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If IdTipoDoc > 0 Then
            TxtNombre.Enabled = False
            BtnAgregar.Text = "Actualizar"
            Dim _DataTableTiposDoc As DataTable = _TypeDocBl.GetItem(IdTipoDoc)
            TxtNombre.Text = _DataTableTiposDoc.Rows.Item(0)("Nombre")
            TxtDescripcion.Text = _DataTableTiposDoc.Rows.Item(0)("Descripcion")
            ChkHabilitado.Checked = _DataTableTiposDoc.Rows.Item(0)("Habilitado")

        End If
    End Sub

    Private Sub TxtNombre_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtNombre.KeyPress
        Dim KeyAscii As Short = CShort(Asc(e.KeyChar))
        KeyAscii = CShort(SoloLetras(KeyAscii))
        If KeyAscii = 0 Then
            e.Handled = True
        End If
    End Sub

    Function SoloLETRAS(ByVal KeyAscii As Integer) As Integer
        KeyAscii = Asc(UCase(Chr(KeyAscii))) 'Transformar letras minusculas a Mayúsculas
        ' Intercepta un código ASCII recibido admitiendo solamente
        ' letras, además:
        ' deja pasar sin afectar si recibe tecla de Backspace o enter
        If InStr("ABCDEFGHIJKLMNÑOPQRSTUVWXYZ ", Chr(KeyAscii)) = 0 Then
            SoloLETRAS = 0
        Else
            SoloLETRAS = KeyAscii
        End If
        ' teclas adicionales permitidas
        If KeyAscii = 8 Then SoloLETRAS = KeyAscii ' Backspace
        If KeyAscii = 13 Then SoloLETRAS = KeyAscii ' Enter
    End Function

End Class